#ifndef HARDWIDGET_H
#define HARDWIDGET_H

#include <QWidget>
#include <QStandardItemModel>
#include "mytypes.h"
#include <QPair>
namespace Ui {
class HardWidget;
}

class HardWidget : public QWidget
{
    Q_OBJECT
public:
    explicit HardWidget(QWidget *parent = nullptr);

    ~HardWidget();

    void SetCurrentWidget(Yzty::MODECODE code);

    void UpdateData(Yzty::HardToolCode code);

    static QVector<QPair<Yzty::MODECODE,Yzty::ITEMCODE>> ShowTools;
    static QVector<QSet<int>> ToolMapItem;       //执行的功能对应的item编号

private:

    void UpdateCpuInfor();

    void UpdateMoboInfor();

    void UpdateMemoryInfor();

    void UpdateGraphInfor();

    void UpdateSoundInfor();

    void UpdateDiskInfor();

    void UpdateBatteryInfor();

    void UpdateBlueToothInfor();

    void UpdateNetWorkInfor();

    void UpdateMouseInfor();

    void UpdateKeyBoardInfor();

    void UpdateOsInfor();

    void UpdateUserInfor();

private:
    QStandardItemModel* _cpumodel;
    QStandardItemModel* _memorymodel;
    QStandardItemModel* _graphmodel;
    QStandardItemModel* _soundmodel;
    QStandardItemModel* _diskmodel;
    QStandardItemModel* _networkmodel;
    QStandardItemModel* _mousemodel;
    QStandardItemModel* _keyboardmodel;
    QStandardItemModel* _usermodel;

    Ui::HardWidget *ui;
};

#endif // HARDWIDGET_H
